#pragma once
#include <vector>
#include "BaseCharacter.h"

//class BaseCharacter;

class AIManager
{
	vector<BaseCharacter*> characters;
	int curChar;
	float actionTimer;
	float actionTime;
	bool moved;

	static AIManager * pInstance;

	int abilityEnum;
	BaseCharacter * target;

	AIManager(void);
	~AIManager(void);
	AIManager(const AIManager&);
	AIManager& operator=(const AIManager&);
public:
	void Update(float fElapsedTime);	
	static AIManager * GetInstance();
	void DeleteInstance();

	vector<BaseCharacter*> * GetAIChars()
	{
		return &characters;
	}

	int GetCurrChar()
	{
		return this->curChar;
	}

	void SetCurrChar(int i)
	{
		this->curChar = i;
	}

	void SetTimer(float f)
	{
		this->actionTimer = 0.0f;
	}

	void SetAbilityEnmu(int i)
	{
		this->abilityEnum = i;
	}

	void SetTarget(BaseCharacter* bc)
	{
		this->target = bc;
	}

};

